# Web应用的本质就是：
# 浏览器发送一个HTTP请求；
# 服务器收到请求，生成一个HTML文档；
# 服务器把HTML文档作为HTTP响应的Body发送给浏览器；
# 浏览器收到HTTP响应，从HTTP Body取出HTML文档并显示。
# 如果要动态生成HTML，就需要把上述步骤自己来实现。不过，接受HTTP请求、解析HTTP请求、
# 发送HTTP响应都是苦力活，如果我们自己来写这些底层代码，还没开始写动态HTML呢，就得花个把月去读HTTP规范。
# 正确的做法是底层代码由专门的服务器软件实现，我们用Python专注于生成HTML文档。
# 因为我们不希望接触到TCP连接、HTTP原始请求和响应格式，所以，需要一个统一的接口，让我们专心用Python编写Web业务。
# WSGI：Web Server Gateway Interface。
def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    body = '<h1>Hello, %s!</h1>' % (environ['PATH_INFO'][1:] or 'web')
    # return [b'<h1>Hello, web!</h1>']
    return [body.encode('utf-8')]
# 无论多么复杂的Web应用程序，入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得
# ，HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。
